// 群组管理服务

import request from './request.js';

// 获取token
function getToken() {
  return request.getToken();
}

/**
 * 获取所有群组
 * @returns {Promise} 返回群组列表
 */
function getAllGroups() {
  return request.request({
    url: 'groups/getAllGroups'
  });
}

/**
 * 根据ID获取群组
 * @param {string} id - 群组ID
 * @returns {Promise} 返回群组信息
 */
function getGroupById(id) {
  return request.request({
    url: 'groups/getGroupById',
    data: { id }
  });
}

/**
 * 创建群组
 * @param {Object} group - 群组信息
 * @returns {Promise} 返回创建结果
 */
function createGroup(group) {
  return request.request({
    url: 'groups/createGroup',
    data: { 
      token: request.getToken(),
      members: group.members 
    }
  });
}

/**
 * 更新群组
 * @param {Object} group - 群组信息
 * @returns {Promise} 返回更新结果
 */
function updateGroup(group) {
  return request.request({
    url: 'groups/updateGroup',
    data: { group }
  });
}

/**
 * 添加成员到群组
 * @param {string} groupId - 群组ID
 * @param {string} memberId - 成员ID
 * @returns {Promise} 返回添加结果
 */
function addMember(groupId, memberId) {
  return request.request({
    url: 'groups/addMember',
    data: {
      groupId,
      memberId
    }
  });
}

/**
 * 从群组移除成员
 * @param {string} groupId - 群组ID
 * @param {string} memberId - 成员ID
 * @returns {Promise} 返回移除结果
 */
function removeMember(groupId, memberId) {
  return request.request({
    url: 'groups/removeMember',
    data: {
      groupId,
      memberId
    }
  });
}

/**
 * 删除群组
 * @param {string} id - 群组ID
 * @returns {Promise} 返回删除结果
 */
function deleteGroup(id) {
  return request.request({
    url: 'groups/deleteGroup',
    data: { id }
  });
}

export default {
  getAllGroups,
  getGroupById,
  createGroup,
  updateGroup,
  addMember,
  removeMember,
  deleteGroup
}; 